package io.gitee.chearnee.fw.common.processor;

/**
 * @author cn
 * @version 1.0
 * @description
 * @date 2022/7/11 18:35
 */
public interface IProcessor<S, R> {

  //支持处理器
  default boolean support() {
    return false;
  }

  //前置处理
  boolean beforeProcess(S s);


  //处理中
  R processing(S s, IProcessorChain<S, R> chain);

  //后置处理
  void afterProcess(S s, R r);

  default void destroy() {
  }
}
